In conventional third generation (3G) cellular systems, signaling between at least one User Equipment (UE) and Base Stations (Node-Bs) for the coordination of Adaptive Modulation and Coding (AM&C) and Hybrid Automatic Repeat Request (H-ARQ) functions is provided by physical control channels, such as High Speed Data Packet Access (HSDPA) control channels, or the like. When transmission errors occur on physical control channels for either the uplink or downlink, existing Medium Access Control (MAC) layer mechanisms are not able to guarantee recovery and as a result user data may be lost.
In order to ensure delivery of a data block, the H-ARQ process employs messages which confirm or deny that a data block was successfully delivered. An acknowledgment (ACK) message indicates a successful transmission of a data block, while a negative acknowledgment (NACK) message indicates a failed transmission of a data block. When there is a successful transmission data block, an ACK is generated and no further action is taken. When there is a failed transmission of a data block, a NACK is generated and, in response thereto, the respective data block is retransmitted.
One drawback with the H-ARQ process is that ACK and NACK messages, which are usually generated by a receiver, are often misinterpreted. If a NACK message is misinterpreted as being an ACK message, a failure occurs without being detected at the physical level. If an ACK message is misinterpreted as being a NACK, the data block is unnecessarily retransmitted.
The H-ARQ process provides a mechanism whereby the status of transmissions that are received are indicated to the transmitter. The retransmitted data blocks are combined in the receiver with other successful transmissions to achieve reduced block error rates. For the combining process to work correctly in the receiver, the same protocol data unit (PDU) must be applied in retransmissions as for the initial transmission. For each transmission time interval (TTI), one H-ARQ process may service one PDU. The initial transmission and retransmissions of a particular PDU are serviced by the same H-ARQ processor.
A block diagram of the UMTS Terrestrial Radio Access Network (UTRAN) MAC-hs layer architecture is illustrated in FIG. 1, and a block diagram of the user equipment (UE) MAC hs architecture is shown in FIG. 2. The UTRAN MAC-hs 30 shown in FIG. 1 comprises a Transport Format Combination (TFC) selection entity 31, a scheduling device 32, a plurality of H-ARQ processors 33a, 33b and a flow controller 34.
The UE MAC-hs 40 comprises an H-ARQ processor 41. As will be explained with reference to both FIGS. 1 and 2, the H-ARQ processors 33a, 33b in the UTRAN MAC-hs 30 and the H-ARQ processor 41 in the UE MAC-hs 40 work together to process blocks of data.
The H-ARQ processors 33a, 33b in the UTRAN MAC-hs 30 handle all of the tasks that are required for H-ARQ to generate transmissions and retransmissions for any transmission that is in error. The H-ARQ processor 41 in the UE MAC-hs 40 is responsible for generating a ACK to indicate a successful transmission and for generating a NACK to indicate a failed transmission. The H-ARQ processors 33a, 33b and 41 process sequential data streams for each user data flow.
As will be described in further detail hereinafter, blocks of data received on each user data flow are sequentially assigned to H-ARQ processors 33a, 33b. Each H-ARQ processor 33a, 33b initiates a transmission, and in the case of an error, the H-ARQ processor 41 requests a retransmission. On subsequent transmissions, the modulation and coding rate may be changed in order to ensure a successful transmission. The data block to be retransmitted and any new transmissions to the UE are forwarded to the scheduling device 32.
The scheduling device 32, coupled between the H-ARQ processors 33a, 33b and the TFC selector 31, functions as radio resource manager and determines transmission latency in order to support the required QoS. Based on the outputs of the H-ARQ processors 33a, 33b and the priority of a new data block being transmitted, the scheduling device 32 forwards the data block to the TFC selection entity 31.
The TFC selection entity 31, coupled to the scheduling device 32, receives the data block to be transmitted and selects an appropriate dynamic transport format for the data block to be transmitted. With respect to H-ARQ transmissions and retransmissions, the TFC selection entity 31 determines modulation and coding.
It is highly desirable for the retransmitted data blocks to arrive at the RLC entity of the receiving side (i.e., the UE) as soon as possible for several reasons. First, the missed data block will prevent subsequent data blocks from being forwarded to higher layers, due to the requirement of in-sequence delivery. Second, the buffer of the UE needs to be sized large enough to accommodate the latency of retransmissions while still maintaining effective data rates. The longer the latency is, the larger the UE buffer size has to be to allow for the UE to buffer both the data blocks that are held up and continuous data receptions until the correct sequence data block is forwarded to higher layers. The larger buffer size results in increased hardware costs for UEs. This is very undesirable.
Referring to FIG. 3, a flow diagram of the data flow between a Node B (shown at the bottom of FIG. 3) and a UE (shown at the top of FIG. 3) is shown. PDUs from higher level processing are scheduled and may be multiplexed into one data block. A data block can only contain PDUs of higher layers of the same priority. A unique Transmission Sequence Number (TSN) is assigned to each data block by the scheduler. The higher layers may provide a plurality of streams of different priorities of PDUs, each priority having a sequence of TSNs. The scheduler then dispatches the data blocks to the plurality of H-ARQ processors P1B-P5B. Each H-ARQ processor P1B-P5B is responsible for processing a single data block at a time. For example, as shown in FIG. 3, the Priority 1 PDUs comprise a sequence illustrated as B11-B1N. Likewise, the Priority 2 PDUs are sequenced from B21-B2N and the Priority 3 PDUs are sequenced from B31-B3N. These PDUs are scheduled (and may be multiplexed) and affixed a TSN by the common scheduler. For purposes of describing the invention, it is assumed that one PDU equals one data block. After a data block is scheduled to be processed by a particular processor P1B-P5B, each data block is associated with a processor identifier, which identifies the processor P1B-P5B that processes the data block.
The data blocks are then input into the scheduled Node B H-ARQ processors P1B-P5B which receive and process each data block. Each Node B H-ARQ processor P1B-P5B corresponds to an H-ARQ processor P1UE-P5UE within the UE. Accordingly, the first H-ARQ processor P1B in the Node B communicates with the first H-ARQ processor P1UE in the UE. Likewise, the second H-ARQ processor P2B in the Node B communicates with the second H-ARQ processor P2UE in the UE, and so on for the remaining H-ARQ processors P3B-P5B in the Node B and their counterpart H-ARQ processors P3UE-P5UE respectively within the UE. The H-ARQ processes are timely multiplexed onto the air interface and there is only one transmission of an H-ARQ on the air interface at one time.
For example, taking the first pair of communicating H-ARQ processors P1B and P1UE, the H-ARQ processor P1B processes a data block, for example B11, and forwards it for multiplexing and transmitting it over the air interface. When this data block B11 is received by the first H-ARQ processor P1UE, the processor P1UE determines whether or not it was received without error. If the data block B11 was received without error, the first H-ARQ processor P1UE transmits an ACK to indicate to the transmitting H-ARQ processor P1B that it has been successfully received. On the contrary, if there is an error in the received data block B11, the receiving H-ARQ processor P1UE transmits a NACK to the transmitting H-ARQ processor P1B. This process continues until the transmitting processor P1B receives an ACK for the data block B11. Once an ACK is received, that processor P1B is “released” for processing another data block. The scheduler will assign the processor P1B another data block if available.
As graphically illustrated in FIG. 3, the scheduler knows of the release of the processor P1B by receiving the ACK/NACK, or may use some other signaling scheme that is well known in the art.
Once the receiving H-ARQ processors P1UE-P5UE process each data block, they are forwarded to the reordering buffers R1, R2, R3 based on their priority; one reordering buffer for each priority level of data. For example, Priority 1 data block B11B1N will be received and reordered in the Priority 1 reordering buffer R1; Priority 2 data blocks B21-B2N will be received and reordered in the Priority 2 reordering buffer R2; and the Priority 3 data blocks B31-B3N will be received and reordered by the Priority 3 reordering buffer R3. Due to the pre-processing of the data blocks by the receiving H-ARQ processors P1UE-P5UE and the ACK/NACK acknowledgement procedure, the data blocks are often received in an order that is not sequential with respect to their TSNs. The reordering buffers R1-R3 receive the out-of-sequence data blocks and attempt to reorder the data blocks in a sequential manner based upon TSNs. It should be noted that each reordering buffer has its own sequence of TSNs. As the data blocks are received and reordered, they will be passed to higher layers, such as the RLC layer.
On the receiving side, the UE MAC-hs, (which has been graphically illustrated as MAC-hs control), reads the H-ARQ processor ID, whether it is sent on a control channel such as the HS-SCCH or whether the data block has been tagged, to determine which H-ARQ processor P1UE-P5UE has been used. If the UE receives another data block to be processed by the same H-ARQ processor P1UE-P5UE, the UE knows that that particular H-ARQ processor P1UE-P5UE has been released regardless of whether or not the previous data block processed by that H-ARQ processor P1UE-P5UE has been successfully received.
As aforementioned the PDUs are forwarded to the higher layer if all the PDUs with embedded TSNs are successfully received, or a timer indicates that the maximal period of time that the PDU can stay in a buffer or queue has been reached. Typically, the higher layer is the RLC. While the process described with reference to FIG. 3 is being implemented, the data being buffered in the reordering buffers R1, R2, R3 is subject to a delay. As shown in FIG. 4, this delay can have negative consequences.
FIG. 4 is an example of a prior art system including an RNC, a Node B a UE and their associated buffers. This example assumes that the UE is the receiving entity and the Node B is the transmitting entity. In this prior art system, a PDU with TSN=3 is not received successfully by the UE. Therefore, the UE requests a retransmission. Meanwhile, the PDUs with TSNs=6-9 are buffered in the Node B, and PDUs with TSNs=4 and 5 are buffered in the UE.
As shown in FIG. 5, the retransmission of the PDU with TSN=3 must wait at the end of the queue in the Node B buffer, and will be transmitted only after the PDUs with TSNs=6-9 are transmitted. The PDUs in the UE cannot be forwarded to the upper layers until all PDUs are received in sequence. In this case, the PDU with TSN=3 stalls the forwarding of subsequent PDUs to higher layers, (i.e., TSNs=4-9), assuming all the PDUs are transmitted successfully. Note that the example of FIGS. 4 and 5 only reflects 11 PDUs, whereas in normal operation hundreds of PDUs along with PDUs from other RLC entities maybe scheduled in advance of retransmitted data PDUs, which further aggravates transmission latency and data buffering issues.
In addition to the delay due to the buffers, there is another significant drawback with the prior art H-ARQ process. The signaling for the H-ARQ process is performed over a physical channel. As those of skill in the art realize, physical channels are channels which are particularly defined and pre-determined. These channels are typically not subject to an error checking capability. As a result, there is a high probability that misinterpretation due to corruption of the signaling will result. For example, an ACK transmitted by the UE may be corrupted during transmission, which results in the detection by the Node B as a NACK. As a result, the data will be unnecessarily retransmitted, thereby wasting radio resources.
Alternatively, a NACK may be misinterpreted as an ACK. In this case, the failed transmission will not be detected by the H-ARQ process. When this occurs, the physical layer mechanism is unable to recover the data and a higher layer, such as the radio-link control (RLC) layer, initiates mechanisms to recover the lost data.
One disadvantage of relying on the RLC layer to retransmit missed PDUs is the latency of transmission, since the round-trip delay of the retransmission is significantly longer than that of transmissions at the H-ARQ level.